package com.wzy.mall.service.admin;

import com.wzy.mall.model.bo.adminBO.*;
import com.wzy.mall.model.pojo.adminPOJO.GoodsPOJO;
import com.wzy.mall.model.pojo.adminPOJO.TypePOJO;
import com.wzy.mall.model.vo.adminVO.GoodsInfoVO;
import com.wzy.mall.model.vo.adminVO.RepliedYVO;
import com.wzy.mall.model.vo.adminVO.ReplyNVO;

import java.util.List;

public interface GoodsService {
    /**
     *  获取所有商品类目
     * @return
     */
    List<TypePOJO> getType();

    /**
     *  根据类目ID获取商品的集合
     * @param typeId
     * @return
     */
    List<GoodsPOJO> getGoodsByType(int typeId);

    /**
     *  添加类目
     * @param typeName
     * @return
     */
    int addType(String typeName);

    /**
     *  根据ID删除类目
     * @param typeId
     * @return
     */
    int deleteType(int typeId);

    /**
     *  根据商品ID获取商品所有信息
     * @param id
     * @return
     */
    GoodsInfoVO getGoodsInfo(String id);

    /**
     *  根据商品ID和规格名称删除规格信息
     * @param specDeleteBO
     * @return
     */
    int deleteSpec(SpecDeleteBO specDeleteBO);

    /**
     *  根据商品ID添加规格
     * @param specAddBO
     * @return
     */
    int addSpec(SpecAddBO specAddBO);

    /**
     *  根据ID删除商品
     * @param id
     * @return
     */
    int deleteGoodsByID(int id);

    /**
     *  根据ID更改商品信息
     * @param goodsUpdateBO
     */
    int updateGoodsByID(GoodsUpdateBO goodsUpdateBO);

    /**
     *  添加商品
     * @param goodsAddBO
     * @return
     */
    int addGoods(GoodsAddBO goodsAddBO);

    /**
     *  获取未回复留言
     * @return
     */
    List<ReplyNVO> noReplyMsg();

    /**
     *  获取已回复的留言
     * @return
     */
    List<RepliedYVO> repliedMsg();

    /**
     *  回复留言
     * @return
     */
    int reply(ReplyBO replyBO);
}
